const HOST = "http://localhost:8080/student"

let vm = new Vue({
    el:"#app",
    data:{
        students:[],
        updateIndex:-1,
        stu:{
            sex:"男"
        },
        updateStu:{}
    },
    //Vue的生命周期中的一个 - 当Vue实例加载完成后进行的操作
    mounted:function(){
        //需要获取到所有的学生信息并加载 - 方法封装
        queryAllStu(this);
    },
    //在页面中所要用到的方法
    methods:{
        del(id,i){
            if(confirm("确认删除该学生吗？")){
                delStu(this,id,i);
            }
        },
        edit(s,index){
            this.updateIndex = index;
            console.log(s);
            let cloneStu = Object.assign({},s);

            this.updateStu = cloneStu;
        },
        update(){
            modify(this);
        },
        insert(){
            addStu(this);
            
        }
    },  
    //侦听器 - 侦听数据产生变化后进行的操作 - 方法名需要与要侦听的数据名一致
    watch:{

    }
})

function queryAllStu(that){
    $.ajax({
        url:HOST+"/api/student/query_all_stu.do",
        method:"GET",
        success:function(res){
            that.students = res.data;
        }
    })
}

function delStu(that,stuId,index){ 
    $.ajax({
        url:HOST+"/api/student/delete_stu.do",
        method:"POST",
        data:{sid:stuId},
        success:function(res){
            if(res.code == 200){
                that.students.splice(index,1);
                alert("删除成功！");
                return;
            }
            alert("删除失败！");
        }
    })
}

function addStu(that){ 
    $.ajax({
        url:HOST+"/api/student/insert_stu.do",
        method:"POST",
        data:that.stu,
        success:function(res){
            if(res.code == 200){
                that.stu={sex:"男"}
                alert("添加成功！");
                return;
            }
            alert("添加失败！");
        }
    })
}

function modify(that){
    $.ajax({
        url:HOST+"/api/student/update_stu.do",
        method:"POST",
        data:that.updateStu,
        success:function(res){
            if(res.code == 200){
                alert("修改成功！");
                that.students.splice(that.updateIndex,1,that.updateStu)
                return;
            }
            alert("修改失败！");
        }
    })
}